Update tabulky podle hodnot z jine tabulky

Otázka od: David Klodner

18. 6. 2004 21:21

Zdravim konferenci,

mam tabulku Zbozi (id_zbozi, nazev, cena) a druhou tabulku AkcniCeny
(id_zbozi, cena).
Do tabulky AkcniCeny nactu par cen zbozi, ktere je v akci a potrebuju
updatovat tabulku zbozi na tyto nove ceny.

Jde neco jako

update Zbozi z, AkcniCeny a set z.cena = a.cena
where z.id_zbozi = a.id_zbozi

Pouzivam FB 1.5.

David Klodner


Odpovedá: Ladislav Stary

19. 6. 2004 6:40

> mam tabulku Zbozi (id_zbozi, nazev, cena) a druhou tabulku AkcniCeny
> (id_zbozi, cena).
> Do tabulky AkcniCeny nactu par cen zbozi, ktere je v akci a potrebuju
> updatovat tabulku zbozi na tyto nove ceny.
>
> Jde neco jako
>
> update Zbozi z, AkcniCeny a set z.cena = a.cena
> where z.id_zbozi = a.id_zbozi
>
> Pouzivam FB 1.5.
>

update Zbozi
set
  cena = a.cena
from Zbozi z, AkcniCeny a
where z.id_zbozi = a.id_zbozi

pouzivam MS SQL, ale tohle by melo byt asi stejny.

s pozdravem
Ladislav Stary


Odpovedá: David Klodner

20. 6. 2004 18:21

>> mam tabulku Zbozi (id_zbozi, nazev, cena) a druhou tabulku AkcniCeny
>> (id_zbozi, cena). Do tabulky AkcniCeny nactu par cen zbozi, ktere je
v
>> akci a potrebuju updatovat tabulku zbozi na tyto nove ceny.
>>
>> Jde neco jako
>>
>> update Zbozi z, AkcniCeny a set z.cena = a.cena
>> where z.id_zbozi = a.id_zbozi
>>
>> Pouzivam FB 1.5.
>>

> update Zbozi
> set
> cena = a.cena
> from Zbozi z, AkcniCeny a
> where z.id_zbozi = a.id_zbozi

> pouzivam MS SQL, ale tohle by melo byt asi stejny.

> s pozdravem
> Ladislav Stary

To mne ve FB 1.5 bohuzel nefunguje:

Dynamic SQL Error
SQL error code = -104
Token unknown - line 4, char 1
from

Nevite nekdo, jak na to ve Firebirdu?

David Klodner


Odpovedá: petr palicka

21. 6. 2004 7:40

>>update Zbozi
>>set
>> cena = a.cena
>>from Zbozi z, AkcniCeny a
>>where z.id_zbozi = a.id_zbozi
>
>>pouzivam MS SQL, ale tohle by melo byt asi stejny.

bohuzel nikoli

> To mne ve FB 1.5 bohuzel nefunguje:
>
> Dynamic SQL Error
> SQL error code = -104
> Token unknown - line 4, char 1
> from
>
> Nevite nekdo, jak na to ve Firebirdu?

AFAIK jedine poddotazem, priblizne takto:

update Zbozi
set
  cena =
    (
   select a.cena
   from Zbozi z, AkcniCeny a
   where z.id_zbozi = a.id_zbozi
    )

peca


Odpovedá: Tomas Bradle

21. 6. 2004 10:30

a nemelo by update Zbozi mit take alias: update Zbozi z set z.cena=(select
....) aby doslo k propojeni ?

----- Original Message -----
From: "petr palicka" <palicka.petr@seznam.cz>
To: <delphi-l@clexpert.cz>
Sent: Monday, June 21, 2004 8:30 AM
Subject: Re: Update tabulky podle hodnot z jine tabulky



> AFAIK jedine poddotazem, priblizne takto:
>
> update Zbozi
> set
> cena =
> (
> select a.cena
> from Zbozi z, AkcniCeny a
> where z.id_zbozi = a.id_zbozi
> )
>
> peca
>
>